package com.zhang.family_doctor.entity;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * service_management 服务表
 * @author 
 */
@Data
public class ServiceManagement {
    /**
     * 服务表主键id
     */
    private Integer id;

    /**
     * 服务编号
     */
    private Integer serviceNumber;

    /**
     * 服务状态：1.待审核，2.待服务，3.已驳回，4.已完成，5.已取消
     */
    private Integer serviceType;

    /**
     * 服务机构id
     */
    private Integer mechanismId;

    /**
     * 居民id
     */
    private Integer residentId;

    /**
     * 服务团队id
     */
    private Integer teamId;

    /**
     * 服务医生id
     */
    private Integer doctorId;

    /**
     * 服务包id
     */
    private Integer packageId;

    /**
     * 服务项目id
     */
    private Integer serviceId;

    /**
     * 服务地点：1.签约人家里，2.机构门诊
     */
    private Integer serviceLocation;

    /**
     * 服务时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date serviceTime;

    /**
     * 服务备注
     */
    private String serviceRemarks;

    /**
     * 申请时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;

    /**
     * 修改时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 审核人
     */
    private String reviewed;

    /**
     * 审核时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    /**
     * 驳回原因
     */
    private String reasonRejection;

    /**
     * 服务来源：1.居民申请，2.后台添加申请
     */
    private Integer serviceSource;

    /**
     * 取消原因
     */
    private String reasonCancellation;

    /**
     * 取消时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cancellationTime;
}